SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[spIndAusentismoPorCargo]
@Fecha1 varchar(10),
@Fecha2 varchar(10),
@UnidadDeTiempo varchar(4)
AS
SET NOCOUNT ON
delete from tb_Acumuladores

declare @F1 datetime
Select @F1 = cast(@Fecha1 as datetime)

declare @F2 datetime
Select @F2 = cast(@Fecha2 as datetime)
declare @F3 datetime
Select @F3 = cast(@Fecha1 as datetime)

if  upper(@UnidadDeTiempo) = 'DIAS'
	Select @F3 = dateadd(day,1,@F2)
else
	Select @F3 = dateadd(month, 1, @F2)

declare @numerador float
declare @denominador float
declare @dif int
declare @UT int

--Select @UT =  UnidadTiempo from tb_TiposDeAcumuladores where idTipoIndice = @idTipoAcumulador

-- mientras los limites sean correctos
while @f1 < @f2
 begin

   Select @Numerador = (Select count(*) from tb_SubServiciosAgentes where SituacionLaboral <> 1 and SituacionLaboral <> 5 and FechaAlta < @F1 and (FechaBaja > @F2 or FechaBaja is null))
   Select @Denominador =  (Select count(*) from tb_SubServiciosAgentes where SituacionLaboral <> 1 and FechaAlta < @F1 and (FechaBaja > @F2 or FechaBaja is null))
      
   insert into tb_Acumuladores (Agente,  Alumno, Division, Edificio, FechaCalculo, FechaDesde, FechaHasta, Manual, Organizacion, Parametro1, PedidoDesde,
		PedidoHasta, Plaza, Porcentaje, Recalcular, TipoAcumulador, Valor)
   values (null, null, null, null, getdate(), @F1, @F2, 'N', null, null, @f1, @f2, null, (@Numerador/@Denominador), 'N', 3, @Numerador)	 

   -- Si es por dia
   if upper(@UnidadDeTiempo) = 'DIAS'
	Select @F1 = dateadd(day, 1, @F1)
   else
   	Select @F1 = dateadd(month, 1, @F1)   

end
GO
